The Concatenate Vanishes
نویسنده
چکیده
This note presents a trivial transformation that can eliminate many calls of the concatenate (or “append”) operator from a program. The general form of the transformation is well known, and one of the examples, transforming the reverse function, is a classic. However, so far as I am aware, this style of transformation has not previously been systematised in the way done here. The transformation is suitable for incorporation in a compiler, and improves the asymptotic time complexity of some programs from quadratic to linear. There is a syntactic test that determines when the transformation will succeed in eliminating a concatenate operation. Section 1 describes the transformation. Section 2 presents examples. Section 3 characterises the transformation’s benefits. Section 4 describes related work. Section 5 concludes.
منابع مشابه
An 80Gbps FPGA Implementation of a Universal Hash Function based Message Authentication Code
We developed an architecture optimization technique called divide-and-concatenate and applied it to a cryptographic message authentication code (MAC). This is based on two key observations: (i) The area of a multiplier and associated data path decreases quadratically and their speeds increase gradually as their operand size is reduced. (ii) Two w-bit universal hash function data paths (each wit...
متن کاملIntroduction to Randomized Algorithms: QuickSort and QuickSelect
QuickSort Hoare [1962] (A) Pick a pivot element from array (B) Split array into 3 subarrays: those smaller than pivot, those larger than pivot, and the pivot itself. (C) Recursively sort the subarrays, and concatenate them. Randomized QuickSort (A) Pick a pivot element uniformly at random from the array (B) Split array into 3 subarrays: those smaller than pivot, those larger than pivot, and the...
متن کاملIntroduction to Randomized Algorithms: QuickSort and QuickSelect
QuickSort Hoare [1962] (A) Pick a pivot element from array (B) Split array into 3 subarrays: those smaller than pivot, those larger than pivot, and the pivot itself. (C) Recursively sort the subarrays, and concatenate them. Randomized QuickSort (A) Pick a pivot element uniformly at random from the array (B) Split array into 3 subarrays: those smaller than pivot, those larger than pivot, and the...
متن کاملConcatenate and Boost for Multiple Measurement Vector Problems
Multiple measurement vector (MMV) problem addresses the recovery of a set of sparse signal vectors that share common non-zero support, and has emerged an important topics in compressed sensing. Even though the fundamental performance limit of recoverable sparsity level has been formally derived, conventional algorithms still exhibit significant performance gaps from the theoretical bound. The m...
متن کامل2matrix: A utility for indel coding and phylogenetic matrix concatenation1
UNLABELLED PREMISE OF THE STUDY Phylogenetic analysis of DNA and amino acid sequences requires the creation of files formatted specifically for each analysis package. Programs currently available cannot simultaneously code inferred insertion/deletion (indel) events in sequence alignments and concatenate data sets. • METHODS AND RESULTS A novel Perl script, 2matrix, was created to concatena...
متن کامل